package design.structure.外观;

/**
 * 外观模式 60%
 * 隐藏系统的复杂性，并向客户端提供了一个客户端可以访问系统的接口。
 * 这种类型的设计模式属于结构型模式，它向现有的系统添加一个接口，来隐藏系统的复杂性。
 */
public class Log {

    private Debug debug;
    private Info info;
    private Error error;

    public Log() {
        debug = new Debug();
        info = new Info();
        error = new Error();
    }

    private class Debug {
        public void debug() {
            System.out.println("debug  日志");
        }
    }

    private class Info {
        public void info() {
            System.out.println("info  日志");
        }
    }

    private class Error {
        public void error() {
            System.out.println("error  日志");
        }
    }

    public static void main(String[] args) {
        Log log = new Log();
        log.error.error();
        log.info.info();
        log.debug.debug();
    }
}
